Apache Impala-তে CREATE TABLE স্টেটমেন্ট ব্যবহার করে একটি নতুন টেবিল তৈরি করা হয়। এটি ব্যবহারকারীকে একটি ডেটাবেসের মধ্যে নতুন টেবিল তৈরি করার সুযোগ দেয়, যেখানে আপনি টেবিলের কলাম, ডেটাটাইপ এবং অন্যান্য বৈশিষ্ট্যগুলি নির্ধারণ করতে পারেন।
CREATE TABLE Syntax
CREATE TABLE [IF NOT EXISTS] <table_name> (
<column_name1> <data_type1>,
<column_name2> <data_type2>,
...
)
[ROW FORMAT <format>]
[STORED AS <file_format>];
- IF NOT EXISTS: এটি ঐচ্ছিক এবং যদি টেবিলটি আগে থেকেই ডেটাবেসে থাকে তবে টেবিলটি তৈরি করবে না।
- <table_name>: তৈরি করা টেবিলের নাম।
- <column_name>: টেবিলের কলামের নাম।
- <data_type>: কলামের জন্য নির্দিষ্ট ডেটাটাইপ (যেমন INT, STRING, FLOAT ইত্যাদি)।
- ROW FORMAT: টেবিলের ডেটা কীভাবে স্টোর করা হবে, যেমন TextFile বা Parquet।
- STORED AS: এটি টেবিলের ডেটা সংরক্ষণের ফাইল ফরম্যাট নির্ধারণ করে (যেমন, TEXTFILE, PARQUET, ORC ইত্যাদি)।
উদাহরণ ১: সাধারণ CREATE TABLE Statement
নিচে একটি সাধারণ CREATE TABLE স্টেটমেন্টের উদাহরণ দেওয়া হলো, যা একটি নতুন টেবিল তৈরি করবে যার মধ্যে তিনটি কলাম থাকবে:
CREATE TABLE employees (
employee_id INT,
name STRING,
salary FLOAT
);
এই স্টেটমেন্টটি একটি employees নামের টেবিল তৈরি করবে, যেখানে তিনটি কলাম থাকবে:
employee_id(INT টাইপ)name(STRING টাইপ)salary(FLOAT টাইপ)
উদাহরণ ২: IF NOT EXISTS ব্যবহার করে CREATE TABLE
যদি টেবিলটি ইতোমধ্যে ডেটাবেসে থাকে, তাহলে আপনি IF NOT EXISTS ব্যবহার করে টেবিল তৈরি করতে পারেন, যাতে টেবিলটি পুনরায় তৈরি না হয়:
CREATE TABLE IF NOT EXISTS employees (
employee_id INT,
name STRING,
salary FLOAT
);
এটি শুধুমাত্র তখনই টেবিল তৈরি করবে যখন employees নামের টেবিলটি ডেটাবেসে উপস্থিত না থাকবে।
উদাহরণ ৩: ROW FORMAT এবং STORED AS দিয়ে CREATE TABLE
এখানে একটি টেবিল তৈরি করা হচ্ছে যেখানে ডেটা Parquet ফরম্যাটে সংরক্ষিত হবে:
CREATE TABLE employees_parquet (
employee_id INT,
name STRING,
salary FLOAT
)
ROW FORMAT DELIMITED
STORED AS PARQUET;
এই স্টেটমেন্টে:
- ROW FORMAT DELIMITED টেবিলের ডেটাকে ডেলিমিটেড ফরম্যাটে ধারণ করে, যেমন সিএSV (Comma Separated Values)।
- STORED AS PARQUET টেবিলের ডেটা Parquet ফরম্যাটে সংরক্ষিত হবে, যা একটি কলাম-অরিয়েন্টেড ডেটাবেস ফরম্যাট।
উদাহরণ ৪: Partitioned Table তৈরি
Partitioning ব্যবহার করে টেবিলের ডেটা ভাগ করা যেতে পারে। Partitioning করলে ডেটার ভাগ আলাদা ফাইল সিস্টেমে বা অংশে ভাগ হয়ে যায়, যা পারফরম্যান্স বৃদ্ধি করতে সাহায্য করে। নিচে একটি partitioned টেবিল তৈরি করার উদাহরণ:
CREATE TABLE employees_partitioned (
employee_id INT,
name STRING,
salary FLOAT
)
PARTITIONED BY (department STRING)
STORED AS PARQUET;
এখানে:
- PARTITIONED BY:
departmentকলামের ভিত্তিতে ডেটা ভাগ হবে।
টেবিলের কলাম ও ডেটাটাইপের উদাহরণ
- STRING: টেক্সট ডেটার জন্য ব্যবহৃত হয়।
- INT: পূর্ণসংখ্যার জন্য ব্যবহৃত হয়।
- FLOAT: ভগ্নাংশ বা দশমিক সংখ্যা জন্য ব্যবহৃত হয়।
- BOOLEAN: সত্য বা মিথ্যা মান জন্য ব্যবহৃত হয়।
সারাংশ
CREATE TABLE স্টেটমেন্ট দিয়ে Impala-তে একটি নতুন টেবিল তৈরি করা হয়, যেখানে টেবিলের নাম, কলাম এবং ডেটাটাইপ নির্ধারণ করা হয়। এটি অত্যন্ত গুরুত্বপূর্ণ একটি কমান্ড, বিশেষত বড় ডেটাসেটের জন্য যেখানে বিভিন্ন ফরম্যাট এবং পার্টিশনিং ব্যবহার করা হয়। Impala-তে টেবিল তৈরি করার জন্য SQL স্ট্যান্ডার্ড অনুসরণ করা হয়, এবং বিভিন্ন ডেটা ফরম্যাট যেমন Parquet, ORC, এবং TEXTFILE ব্যবহার করা যায়।
Read more